package com.senlingspace.system.mapper;

import com.senlingspace.system.domain.SlkjShoppingCart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 购物车Mapper
 *
 * @author lebronjames
 * @date 2024/10/03
 */
public interface SlkjShoppingCartMapper {

    // 插入购物车记录
    int insert(SlkjShoppingCart shoppingCart);

    // 更新购物车记录
    int update(SlkjShoppingCart shoppingCart);

    // 根据ID查询购物车记录
    SlkjShoppingCart findById(Long id);

    // 根据用户ID查询购物车
    List<SlkjShoppingCart> findByCustomerId(Long customerId);

    // 根据ID删除购物车记录
    int deleteById(Long id);

    // 根据ID批量查询
    List<SlkjShoppingCart> findByIds(long[] cartIds);

    // 批量删除购物车记录
    int deleteCart(long[] cartIds);

    // 根据条件查询购物车
    SlkjShoppingCart selectByCustomerId(SlkjShoppingCart shoppingCart);

    // 更新商品状态 是否下架
    long updateGoodsExpireByProductId(@Param("appStatus") Byte appStatus, @Param("productId") Long productId);

    // 删除购物车记录
    long deleteCartByProductId(Long productId);

}
